/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package sistema.de.fixture.auf.dominio;

/**
 *
 * @author gabriel
 */
public class Partido {

    private Equipo objEq1;
    private Equipo objEq2;
    private boolean jugado;
    private Fecha objF;

    public Partido(Equipo objEq1, Equipo objEq2) {
        this.objEq1 = objEq1;
        this.objEq2 = objEq2;
        this.jugado = false;
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        Partido objp = (Partido) obj;
        /*
         * aqui lo unico que hay que comprobar es si el partido es el mismo
         * porque si el partido es X vs Y no va a existir Y vs X ya que eso
         * está controlado al generar los partidos del campeonato
         */
        if (objp.objEq1.getNum() == this.objEq1.getNum() 
                || objp.objEq2.getNum() == this.objEq2.getNum()
                || objp.objEq1.getNum() == this.objEq2.getNum()
                || objp.objEq2.getNum() == this.objEq1.getNum()) {

            return true;

        }
        return false;
    }

    @Override
    public int hashCode() {
        int hash = 7;
        hash = 97 * hash + (this.objEq1 != null ? this.objEq1.hashCode() : 0);
        hash = 97 * hash + (this.objEq2 != null ? this.objEq2.hashCode() : 0);
        return hash;
    }

    public Fecha getObjF() {
        return objF;
    }

    public void setObjF(Fecha objF) {
        this.objF = objF;
    }

    @Override
    public String toString() {

        if (this.objEq1.getNom().equals("Libre")
                || this.objEq2.getNom().equals("Libre")) {
            
            return this.objEq1.getNom() + " - Fecha Libre ";
            
        } else {

            return this.objEq1.getNom() + " VS " + this.objEq2.getNom();
        }

    }

    public Equipo getEq1() {
        return this.objEq1;
    }

    public Equipo getEq2() {
        return this.objEq2;
    }
    
    public boolean isJugado() {
        return jugado;
    }

    public void setJugado(boolean jugado) {
        this.jugado = jugado;
    }
}
